The next generation network (NGN) is developing rapidly and introducing in a lot of new services. In the field of voice and multimedia services, it has become a trend to control and realize NGN services based on the flexible and extendable SIP (Session Initial Protocol) signaling and other auxiliary signalings such as RTP (Real Time Transport Protocol) and SDP (Session Description Protocol) etc.
Currently many services are co-existing and in order to satisfy the increasing requirements of the users and to take into account the repeatability of service characteristics, it is necessary to combine the current services and to realize the nesting of different service characteristics, which results in the problem of nesting between multi-services accordingly.
However, the current NGN services only take into account the processing of the un-nesting call flows but can not process the multi-service nesting call flows properly. At the same time, for example when the hook, the forwarding or the port number changes, it is impossible to process when the SDP of the callee changes. Taking the typical multi-services nesting and forwarding as an example, when the user dials an intelligent service and triggers the corresponding intelligent flow it is necessary to forward the call once and trigger the application server twice and the detailed flow is illustrated in FIG. 1 as follows:
The caller dials the access code of the first service and sends the Invite Message containing its own SDP to the application server AS1 of the caller, which is trigged to perform the first service flow.
The application server AS1 of the caller issues the routing number of the second service (i.e. the access code of the second service) to the soft switch according to the Invite Message. And according to the routing number, the soft switch triggers the application server AS2 of the second service to perform the flow of the second service. Then the application server AS2 calls the designated callee.
After the callee is picked up, the application server AS2 sends the Update Message containing a SDP of the callee to the caller.
The SDP message of the callee is updated at the caller side and the 200 OK Message containing a SDP of the caller is sent to the soft switch.
The callee transfers the Picked-up Response Message and reports it to the application server AS1 of the caller level by level, and the application server AS2 of the caller returns the ACK Message of the callee. And thus the session negotiation process since the number of the callee is issued is finished.
During the above session negotiation process, after being picked up, the callee sends immediately the Update Message containing its own SDP, and at this time the SDP of the callee in the Update Message is the current SDP of the callee. The SDP may change according to the variation of port number of the callee, hence, the caller is required to send the re-Invite Message to the callee after receiving the Update Message from the callee for renegotiation so as to obtain the latest SDP of the callee. The callee returns the 200 OK Message containing its own latest SDP to the caller and the renegotiation process of the callee since being picked up is completed. And the call is established between the caller and the callee.
In addition, during the above session negotiation process, if the picked-up callee (the original callee) is forwarded or hooked to the third callee, the real callee is the third callee whose SDP is different from that of the original one. The Update Message sent by the picked-up original callee includes its own SDP but not the SDP of the real callee (the third callee). Therefore, after receiving the Update Message from the original callee, the caller is required to send the re-Invite Message to the real callee for renegotiation so as to obtain the SDP of the real callee. The real callee returns the 200 OK Message containing its own SDP to the caller and thus the renegotiation process of the callee since being picked up is completed. The call is established between the caller and the real callee accordingly.
The above flows show after the SDP of the callee is updated at the caller side, when the renegotiation between the caller and the callee is performed by employing re-Invite signaling time after time, it will relate to many devices and it is hard to be realized. In addition, in the mode based on B2B (the back to back mode in SIP protocol), the cross processing on the re-Invite signalings will definitely bring chaos. According to the above flows, if the forwarding or service flow nesting occurs for many times, the number of re-Invite signalings will be larger and it will be more likely to lead to chaos, which may cause the single pass status. Moreover, many re-Invite signalings will increase the load of network signalings and result in a higher probability of losing packets and transmission mistake, which will influence the service performance and may even bring the network blast.